package Interface

//单局内玩家数据的抽象类
type IPlayer interface {
	PlayerId() int32
	User() IUser
	GameRoom() IGameRoom
	AddMoney(money int32)
	AddMagic(magic int32)
	Money() int32
	MoneyAdd() int32
	Pop() int32
	Magic() int32
	MagicAdd() int32

	AddUnit(unit IUnit)
	RemoveUnit(unitId int32)
	GetUnit(unitId int32) IUnit
	AddStronghold(stronghold IStronghold)
	RemoveStronghold(strongholdId int32)
	GetStronghold(strongholdId int32) IStronghold
	GetStrongholdNum() int

	FriendId() int32
	Units() map[int32]IUnit
	MaxPop() int32
	SetMaxPop(maxPop int32)
	SetPop(pop int32)
	ReCalculate()
	Damage(unitIds string) bool
	ReplyHp() bool
	ReSkillLevel()
}